// 做饭
function cook() {
  return new Promise((resolve, reject) => {
    console.log("邓哥打开了电饭煲");
    setTimeout(() => {
      if (Math.random() < 0.5) {
        resolve("饭已ok");
      } else {
        reject("做饭却忘了加水，米饭变成了爆米花");
      }
    }, 2000);
  });
}

// 洗衣服
function wash() {
  return new Promise((resolve, reject) => {
    console.log("邓哥打开了洗衣机");
    setTimeout(() => {
      if (Math.random() < 0.5) {
        resolve("衣服已经洗好");
      } else {
        reject("洗衣服时停水了，洗了个寂寞");
      }
    }, 2500);
  });
}

// 打扫卫生
function sweep() {
  return new Promise((resolve, reject) => {
    console.log("邓哥打开了扫地机器人");
    setTimeout(() => {
      if (Math.random() < 0.5) {
        resolve("地板扫的非常干净");
      } else {
        reject("扫地机器人被哈士奇一爪掀翻了");
      }
    }, 3000);
  });
}

Promise.allSettled([cook(), wash(), sweep()]).then((res) =>
  console.log(
    res.map((r) => (r.status === "fulfilled" ? r.value : r.reason)).join(";")
  )
);
